from sklearn_benchmarks.reporting.hp_match import HpMatchReporting
import pandas as pd
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
reporting = HpMatchReporting(other_library="onnx", config="config.yml", log_scale=True)
reporting.make_report()
We assume here there is a perfect match between the hyperparameters of both librairies. For a given set of parameters and a given dataset, we compute the speedup
time scikit-learn / time onnx. For instance, a speedup of 2 means that onnx is twice as fast as scikit-learn for a given set of parameters and a given dataset.
KNeighborsClassifier_brute_force¶onnx (1.10.1) vs. scikit-learn (1.0.dev0)
All estimators share the following parameters: algorithm=brute.
predict
| estimator | function | n_samples_train | n_samples | n_features | mean_duration_sklearn | std_duration_sklearn | iteration_throughput | latency | n_jobs | n_neighbors | accuracy_score_sklearn | mean_duration_onnx | std_duration_onnx | accuracy_score_onnx | speedup | std_speedup | sklearn_profiling | onnx_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 100 | 1.945 | 0.174 | 0.000 | 0.002 | -1 | 1 | 0.663 | 17.257 | 0.031 | 0.663 | 0.113 | 0.113 | See | See |
| 1 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 100 | 0.023 | 0.003 | 0.000 | 0.023 | -1 | 1 | 1.000 | 0.312 | 0.008 | 1.000 | 0.073 | 0.073 | See | See |
| 2 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 100 | 2.759 | 0.023 | 0.000 | 0.003 | -1 | 5 | 0.757 | 17.021 | 0.144 | 0.757 | 0.162 | 0.162 | See | See |
| 3 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 100 | 0.023 | 0.003 | 0.000 | 0.023 | -1 | 5 | 1.000 | 0.315 | 0.006 | 1.000 | 0.074 | 0.074 | See | See |
| 4 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 100 | 2.061 | 0.034 | 0.000 | 0.002 | 1 | 100 | 0.882 | 16.867 | 0.023 | 0.882 | 0.122 | 0.122 | See | See |
| 5 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 100 | 0.034 | 0.014 | 0.000 | 0.034 | 1 | 100 | 1.000 | 0.333 | 0.015 | 1.000 | 0.101 | 0.101 | See | See |
| 6 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 100 | 2.787 | 0.043 | 0.000 | 0.003 | -1 | 100 | 0.882 | 16.957 | 0.035 | 0.882 | 0.164 | 0.164 | See | See |
| 7 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 100 | 0.023 | 0.002 | 0.000 | 0.023 | -1 | 100 | 1.000 | 0.316 | 0.005 | 1.000 | 0.073 | 0.073 | See | See |
| 8 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 100 | 2.021 | 0.007 | 0.000 | 0.002 | 1 | 5 | 0.757 | 16.939 | 0.051 | 0.757 | 0.119 | 0.119 | See | See |
| 9 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 100 | 0.019 | 0.000 | 0.000 | 0.019 | 1 | 5 | 1.000 | 0.316 | 0.006 | 1.000 | 0.061 | 0.061 | See | See |
| 10 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 100 | 1.161 | 0.003 | 0.001 | 0.001 | 1 | 1 | 0.663 | 17.220 | 0.039 | 0.663 | 0.067 | 0.067 | See | See |
| 11 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 100 | 0.019 | 0.002 | 0.000 | 0.019 | 1 | 1 | 1.000 | 0.317 | 0.006 | 1.000 | 0.061 | 0.061 | See | See |
| 12 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 2 | 1.753 | 0.024 | 0.000 | 0.002 | -1 | 1 | 0.896 | 3.737 | 0.009 | 0.896 | 0.469 | 0.469 | See | See |
| 13 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 2 | 0.006 | 0.004 | 0.000 | 0.006 | -1 | 1 | 1.000 | 0.239 | 0.005 | 1.000 | 0.024 | 0.024 | See | See |
| 14 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 2 | 2.641 | 0.015 | 0.000 | 0.003 | -1 | 5 | 0.922 | 3.704 | 0.012 | 0.922 | 0.713 | 0.713 | See | See |
| 15 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 2 | 0.007 | 0.005 | 0.000 | 0.007 | -1 | 5 | 1.000 | 0.240 | 0.004 | 1.000 | 0.030 | 0.030 | See | See |
| 16 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 2 | 1.954 | 0.002 | 0.000 | 0.002 | 1 | 100 | 0.929 | 3.739 | 0.007 | 0.929 | 0.523 | 0.523 | See | See |
| 17 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 2 | 0.003 | 0.000 | 0.000 | 0.003 | 1 | 100 | 1.000 | 0.240 | 0.005 | 1.000 | 0.012 | 0.012 | See | See |
| 18 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 2 | 2.652 | 0.023 | 0.000 | 0.003 | -1 | 100 | 0.929 | 3.742 | 0.005 | 0.929 | 0.709 | 0.709 | See | See |
| 19 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 2 | 0.008 | 0.002 | 0.000 | 0.008 | -1 | 100 | 1.000 | 0.237 | 0.005 | 1.000 | 0.033 | 0.033 | See | See |
| 20 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 2 | 1.933 | 0.004 | 0.000 | 0.002 | 1 | 5 | 0.922 | 3.695 | 0.054 | 0.922 | 0.523 | 0.523 | See | See |
| 21 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 2 | 0.003 | 0.000 | 0.000 | 0.003 | 1 | 5 | 1.000 | 0.239 | 0.005 | 1.000 | 0.012 | 0.012 | See | See |
| 22 | KNeighborsClassifier_brute_force | predict | 100000 | 1000 | 2 | 1.060 | 0.008 | 0.000 | 0.001 | 1 | 1 | 0.896 | 3.748 | 0.049 | 0.896 | 0.283 | 0.283 | See | See |
| 23 | KNeighborsClassifier_brute_force | predict | 100000 | 1 | 2 | 0.002 | 0.000 | 0.000 | 0.002 | 1 | 1 | 1.000 | 0.238 | 0.004 | 1.000 | 0.008 | 0.008 | See | See |
KNeighborsClassifier_kd_tree¶onnx (1.10.1) vs. scikit-learn (1.0.dev0)
All estimators share the following parameters: algorithm=kd_tree.
predict
| estimator | function | n_samples_train | n_samples | n_features | mean_duration_sklearn | std_duration_sklearn | iteration_throughput | latency | n_jobs | n_neighbors | accuracy_score_sklearn | mean_duration_onnx | std_duration_onnx | accuracy_score_onnx | speedup | std_speedup | sklearn_profiling | onnx_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | 0.847 | 1.024 | 0.000 | 0.001 | -1 | 1 | 0.929 | 118.190 | 0.000 | 0.929 | 0.007 | 0.007 | See | See |
| 1 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | 0.003 | 0.000 | 0.000 | 0.003 | -1 | 1 | 1.000 | 2.630 | 0.229 | 1.000 | 0.001 | 0.001 | See | See |
| 2 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | 1.084 | 0.368 | 0.000 | 0.001 | -1 | 5 | 0.946 | 117.113 | 0.000 | 0.946 | 0.009 | 0.009 | See | See |
| 3 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | 0.003 | 0.001 | 0.000 | 0.003 | -1 | 5 | 1.000 | 2.621 | 0.198 | 1.000 | 0.001 | 0.001 | See | See |
| 4 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | 5.655 | 0.496 | 0.000 | 0.006 | 1 | 100 | 0.951 | 115.626 | 0.000 | 0.951 | 0.049 | 0.049 | See | See |
| 5 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | 0.004 | 0.001 | 0.000 | 0.004 | 1 | 100 | 1.000 | 2.647 | 0.197 | 1.000 | 0.001 | 0.001 | See | See |
| 6 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | 3.316 | 0.347 | 0.000 | 0.003 | -1 | 100 | 0.951 | 113.568 | 0.000 | 0.951 | 0.029 | 0.029 | See | See |
| 7 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | 0.006 | 0.001 | 0.000 | 0.006 | -1 | 100 | 1.000 | 2.672 | 0.233 | 1.000 | 0.002 | 0.002 | See | See |
| 8 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | 1.803 | 0.412 | 0.000 | 0.002 | 1 | 5 | 0.946 | 112.714 | 0.000 | 0.946 | 0.016 | 0.016 | See | See |
| 9 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | 0.002 | 0.000 | 0.000 | 0.002 | 1 | 5 | 1.000 | 2.627 | 0.147 | 1.000 | 0.001 | 0.001 | See | See |
| 10 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | 0.928 | 0.170 | 0.000 | 0.001 | 1 | 1 | 0.929 | 114.256 | 0.000 | 0.929 | 0.008 | 0.008 | See | See |
| 11 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 1 | 1.000 | 2.621 | 0.135 | 1.000 | 0.000 | 0.000 | See | See |
| 12 | KNeighborsClassifier_kd_tree | predict | 1000 | 1000 | 2 | 0.026 | 0.013 | 0.001 | 0.000 | -1 | 1 | 0.891 | 0.045 | 0.015 | 0.891 | 0.580 | 0.613 | See | See |
| 13 | KNeighborsClassifier_kd_tree | predict | 1000 | 1 | 2 | 0.002 | 0.000 | 0.000 | 0.002 | -1 | 1 | 1.000 | 0.005 | 0.000 | 1.000 | 0.464 | 0.464 | See | See |
| 14 | KNeighborsClassifier_kd_tree | predict | 1000 | 1000 | 2 | 0.024 | 0.001 | 0.001 | 0.000 | -1 | 5 | 0.911 | 0.045 | 0.017 | 0.911 | 0.527 | 0.565 | See | See |
| 15 | KNeighborsClassifier_kd_tree | predict | 1000 | 1 | 2 | 0.002 | 0.000 | 0.000 | 0.002 | -1 | 5 | 1.000 | 0.005 | 0.000 | 1.000 | 0.450 | 0.451 | See | See |
| 16 | KNeighborsClassifier_kd_tree | predict | 1000 | 1000 | 2 | 0.035 | 0.005 | 0.000 | 0.000 | 1 | 100 | 0.894 | 0.070 | 0.007 | 0.894 | 0.500 | 0.503 | See | See |
| 17 | KNeighborsClassifier_kd_tree | predict | 1000 | 1 | 2 | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 100 | 1.000 | 0.005 | 0.000 | 1.000 | 0.112 | 0.112 | See | See |
| 18 | KNeighborsClassifier_kd_tree | predict | 1000 | 1000 | 2 | 0.038 | 0.004 | 0.000 | 0.000 | -1 | 100 | 0.894 | 0.061 | 0.001 | 0.894 | 0.623 | 0.623 | See | See |
| 19 | KNeighborsClassifier_kd_tree | predict | 1000 | 1 | 2 | 0.002 | 0.000 | 0.000 | 0.002 | -1 | 100 | 1.000 | 0.005 | 0.001 | 1.000 | 0.415 | 0.419 | See | See |
| 20 | KNeighborsClassifier_kd_tree | predict | 1000 | 1000 | 2 | 0.020 | 0.000 | 0.001 | 0.000 | 1 | 5 | 0.911 | 0.039 | 0.001 | 0.911 | 0.514 | 0.514 | See | See |
| 21 | KNeighborsClassifier_kd_tree | predict | 1000 | 1 | 2 | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 5 | 1.000 | 0.005 | 0.000 | 1.000 | 0.109 | 0.109 | See | See |
| 22 | KNeighborsClassifier_kd_tree | predict | 1000 | 1000 | 2 | 0.019 | 0.000 | 0.001 | 0.000 | 1 | 1 | 0.891 | 0.039 | 0.000 | 0.891 | 0.485 | 0.485 | See | See |
| 23 | KNeighborsClassifier_kd_tree | predict | 1000 | 1 | 2 | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 1 | 1.000 | 0.005 | 0.000 | 1.000 | 0.110 | 0.110 | See | See |
HistGradientBoostingClassifier_best¶onnx (1.10.1) vs. scikit-learn (1.0.dev0)
All estimators share the following parameters: learning_rate=0.01, n_iter_no_change=10.0, max_leaf_nodes=100.0, max_bins=255.0, min_samples_leaf=100.0, max_iter=300.0.
predict
| estimator | function | n_samples_train | n_samples | n_features | mean_duration_sklearn | std_duration_sklearn | n_iter | iteration_throughput | latency | accuracy_score_sklearn | mean_duration_onnx | std_duration_onnx | accuracy_score_onnx | speedup | std_speedup | sklearn_profiling | onnx_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | HistGradientBoostingClassifier_best | predict | 100000 | 1000 | 100 | 0.108 | 0.001 | 300 | 0.007 | 0.000 | 0.824 | 0.509 | 0.022 | 0.824 | 0.212 | 0.212 | See | See |
| 1 | HistGradientBoostingClassifier_best | predict | 100000 | 1 | 100 | 0.017 | 0.000 | 300 | 0.000 | 0.017 | 1.000 | 0.421 | 0.009 | 1.000 | 0.040 | 0.040 | See | See |